const users = [
  { 'user': 'fred',   'age': 48 },
  { 'user': 'barney', 'age': 34 },
  { 'user': 'tom',   'age': 48 },
  { 'user': 'mary', 'age': 36 },
  { 'user': 'cat', 'age': 66 }
];

// executionM("forEach",function(){
//   _.forEach(users,function(value,index){
//       console.log(value,index);
//   })
// });


// executionM("head",function(){
//    console.log(_.head(users));
// });

// executionM("groupBy",function(){
//   console.log(_.groupBy(users,function(x){
      
//       return x.age;
//   }));
// });

// executionM("orderBy",function(){
//   console.log(_.orderBy(users,['age'],['desc']));
// });


// executionM("every",function(){
//   console.log(_.every(users,function(x){
//     return x.age>30
//   }));
// });


// executionM("find",function(){
//   console.log(_.find(users,function(x){
//       return x.age === 34;
//   }));
// });


// executionM("map",function(){
//   console.log(_.map(users,function(x){
//       x.age =  x.age + 10;
//       return x;
//   }));
// });


// executionM("reduce",function(){
//   console.log(_.reduce(users,function(x,y,z){
//       if(_.isNumber(x)){
//         return x + y.age;
//       }
//       return x.age + y.age;
//   }));
// });


// executionM("filter",function(){
//   console.log(_.filter(users,function(x){
//      return x.age >=48;
//   }));
// });


// executionM("some",function(){
//   console.log(_.some(users,function(x){
//      return x.age >80;
//   }));
// });



executionM("启用显式链模式",function(){
   let res = _.chain(users)
   .orderBy(['age'],['asc'])
   .map(function(x){
     x.age= x.age+10;
     return x;
   })
   .last()
   .value();
   console.log(res);
   
});